Business application programs are typically written and compiled according to a business application programming language such as the Advanced Business Application Programming (ABAP) language developed by SAP AG (Walldorf, Germany). Some programming languages feature mechanisms to support enhancement of a standard business coding in order to integrate industry-specific or customer-specific code fragments. This mechanism—known as the Enhancement and Switch Framework—is used to retrofit industry-specific enhancements into the standard coding structure, and to activate or deactivate those enhancements dynamically to achieve industry-specific behavior of the business applications. Enhancements, or extensions of the coding structure, are stored separately from the original code structure document.
As a specific example, within the ABAP switch framework, the ABAP enhancements are in the form of switchable code fragments that can be added to existing ABAP code at certain positions in the coding structure. Additionally, these enhancements can be switched on or off by setting separately stored switches. Depending on the switch setting, the corresponding enhancements are pre-processed by the ABAP compiler at compile-time and evaluated at run-time to decide whether or not the enhancement is to be executed. Accordingly, the switch settings serve to configure an application program dynamically.
The switchable code fragments may be written in a variety of programming languages. For proper integration into the switch framework, the code fragments need to be edited together in a standard language environment, which means that a code author needs to have knowledge of the standard code language. Otherwise, the switch framework integrator needs to have knowledge of the code languages of all of the code fragments.
Conventional application development platforms use multi-document editors with a user interface that provides separate editor controls for each different code fragment. These controls are often placed on separate tab strips, or in separate windows of the user interface. Accordingly, editing and integration of the different code fragments within the code framework is very difficult and burdensome.